package com.hp.test.interview.multiarray;

/**
 * http://www.geeksforgeeks.org/a-boolean-matrix-question/
 */
public class Fill2DMatrixWith1 {

    public static void main(String args[]) {
        int input[][] = {{0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0}};
        Fill2DMatrixWith1 fd = new Fill2DMatrixWith1();
        fd.fill(input);
        for (int i = 0; i < input.length; i++) {
            for (int j = 0; j < input[i].length; j++) {
                System.out.print(input[i][j] + " ");
            }
            System.out.println();
        }
    }

    public void fill(int input[][]) {
        boolean row[] = new boolean[input.length];
        boolean col[] = new boolean[input[0].length];
        for (int i = 0; i < input.length; i++) {
            for (int j = 0; j < input[i].length; j++) {
                if (input[i][j] == 1) {
                    row[i] = true;
                    col[j] = true;
                }
            }
        }
        for (int i = 0; i < input.length; i++) {
            for (int j = 0; j < input[i].length; j++) {
                if (row[i] || col[j]) {
                    input[i][j] = 1;
                }
            }
        }
    }
}
